package com.charging.system.domain;

import java.math.BigDecimal;

import com.charging.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.charging.common.annotation.Excel;

/**
 * 充电记录对象 kx_charging_record
 *
 * @author charging
 * @date 2024-04-19
 */
public class KxChargingRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 充电记录id */
    private Long chargingRecordId;

    /** 充电桩id */
    @Excel(name = "充电桩id")
    private Long equipId;

    /** 充电桩编号 */
    @Excel(name = "充电桩编号")
    private String equipNo;

    /** 插座号 */
    @Excel(name = "插座号")
    private Integer channelNo;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;
    @Excel(name = "用户名")
    private String userName;
    @Excel(name = "电卡号")
    private String cardNo;
    /** 电卡id */
    @Excel(name = "电卡id")
    private Long cardId;

    /** 设备类型 */
    @Excel(name = "设备类型")
    private Integer equipType;

    /** 充电方案id */
    @Excel(name = "充电方案id")
    private Long chargingSchemeId;

    /** 消费金额 */
    @Excel(name = "消费金额")
    private BigDecimal amount;

    /** 用电度数 */
    @Excel(name = "用电度数")
    private BigDecimal degree;

    /** 起充价格（汽车当前充电价格） */
    @Excel(name = "起充价格", readConverterExp = "汽=车当前充电价格")
    private BigDecimal startPrice;

    /** 流水号 */
    @Excel(name = "流水号")
    private String orderNo;

    /** 计费次数 */
    @Excel(name = "计费次数")
    private Integer numTimes;

    /** 功率请求失败次数 */
    @Excel(name = "功率请求失败次数")
    private Integer errorTimes;

    /** 结束类型 */
    @Excel(name = "结束类型")
    private Integer endType;

    /** 计划充电时长(小时) */
    @Excel(name = "计划充电时长(小时)")
    private Integer planChargingTime;

    /** 充电功率 */
    @Excel(name = "充电功率")
    private Integer chargingPower;

    /** 最大充电功率 */
    @Excel(name = "最大充电功率")
    private Integer maxChargingPower;

    /** 充电状态 */
    @Excel(name = "充电状态")
    private Integer chargingStatus;

    /** 充满不自动停止 */
    @Excel(name = "充满不自动停止")
    private Integer chargingFullNotStop;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

//    日期范围查询
    private String dates;

    public String getDates() {
        return dates;
    }

    public void setDates(String dates) {
        this.dates = dates;
    }

    public void setChargingRecordId(Long chargingRecordId)
    {
        this.chargingRecordId = chargingRecordId;
    }

    public Long getChargingRecordId()
    {
        return chargingRecordId;
    }
    public void setEquipId(Long equipId)
    {
        this.equipId = equipId;
    }

    public Long getEquipId()
    {
        return equipId;
    }
    public void setEquipNo(String equipNo)
    {
        this.equipNo = equipNo;
    }

    public String getEquipNo()
    {
        return equipNo;
    }
    public void setChannelNo(Integer channelNo)
    {
        this.channelNo = channelNo;
    }

    public Integer getChannelNo()
    {
        return channelNo;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setCardId(Long cardId)
    {
        this.cardId = cardId;
    }

    public Long getCardId()
    {
        return cardId;
    }
    public void setEquipType(Integer equipType)
    {
        this.equipType = equipType;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getCardNo() {
        return cardNo;
    }

    public void setCardNo(String cardNo) {
        this.cardNo = cardNo;
    }

    public Integer getEquipType()
    {
        return equipType;
    }
    public void setChargingSchemeId(Long chargingSchemeId)
    {
        this.chargingSchemeId = chargingSchemeId;
    }

    public Long getChargingSchemeId()
    {
        return chargingSchemeId;
    }
    public void setAmount(BigDecimal amount)
    {
        this.amount = amount;
    }

    public BigDecimal getAmount()
    {
        return amount;
    }
    public void setDegree(BigDecimal degree)
    {
        this.degree = degree;
    }

    public BigDecimal getDegree()
    {
        return degree;
    }
    public void setStartPrice(BigDecimal startPrice)
    {
        this.startPrice = startPrice;
    }

    public BigDecimal getStartPrice()
    {
        return startPrice;
    }
    public void setOrderNo(String orderNo)
    {
        this.orderNo = orderNo;
    }

    public String getOrderNo()
    {
        return orderNo;
    }
    public void setNumTimes(Integer numTimes)
    {
        this.numTimes = numTimes;
    }

    public Integer getNumTimes()
    {
        return numTimes;
    }
    public void setErrorTimes(Integer errorTimes)
    {
        this.errorTimes = errorTimes;
    }

    public Integer getErrorTimes()
    {
        return errorTimes;
    }
    public void setEndType(Integer endType)
    {
        this.endType = endType;
    }

    public Integer getEndType()
    {
        return endType;
    }
    public void setPlanChargingTime(Integer planChargingTime)
    {
        this.planChargingTime = planChargingTime;
    }

    public Integer getPlanChargingTime()
    {
        return planChargingTime;
    }
    public void setChargingPower(Integer chargingPower)
    {
        this.chargingPower = chargingPower;
    }

    public Integer getChargingPower()
    {
        return chargingPower;
    }
    public void setMaxChargingPower(Integer maxChargingPower)
    {
        this.maxChargingPower = maxChargingPower;
    }

    public Integer getMaxChargingPower()
    {
        return maxChargingPower;
    }
    public void setChargingStatus(Integer chargingStatus)
    {
        this.chargingStatus = chargingStatus;
    }

    public Integer getChargingStatus()
    {
        return chargingStatus;
    }
    public void setChargingFullNotStop(Integer chargingFullNotStop)
    {
        this.chargingFullNotStop = chargingFullNotStop;
    }

    public Integer getChargingFullNotStop()
    {
        return chargingFullNotStop;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("chargingRecordId", getChargingRecordId())
            .append("equipId", getEquipId())
            .append("equipNo", getEquipNo())
            .append("channelNo", getChannelNo())
            .append("userId", getUserId())
            .append("cardId", getCardId())
            .append("equipType", getEquipType())
            .append("chargingSchemeId", getChargingSchemeId())
            .append("amount", getAmount())
            .append("degree", getDegree())
            .append("startPrice", getStartPrice())
            .append("orderNo", getOrderNo())
            .append("numTimes", getNumTimes())
            .append("errorTimes", getErrorTimes())
            .append("endType", getEndType())
            .append("planChargingTime", getPlanChargingTime())
            .append("chargingPower", getChargingPower())
            .append("maxChargingPower", getMaxChargingPower())
            .append("chargingStatus", getChargingStatus())
            .append("chargingFullNotStop", getChargingFullNotStop())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
